/**
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */

package pittypat;

import java.time.LocalDateTime;

/**
 * 为当前用户提供用户信息。
 * <p>
 * 实际发送给客户端的信息可能更多或更少，取决于实现该接口的类型如何实现 IJson.Write 方法。
 */
public interface IUser extends IComplex {
	/**
	 * 获取用户的 Id，匿名用户的 Id 为 null。
	 */
	java.util.UUID getId();

	/**
	 * 获取用户的登录名称。
	 */
	String getLoginName();

	/**
	 * 获取用户的友好显示名称。
	 */
	String getFriendlyName();

	/**
	 * 获取用户头像的路径。
	 */
	String getFaceUrl();

	/**
	 * 获取用户登录成功后应该进入的第一个页面。
	 */
	String getLoginHomeUrl();

	/**
	 * 获取用于设置用户资料的路径。
	 */
	String getSettingUrl();
	
	/**
	 * 获取系统的当前日期时间。
	 * @return 当前日期时间。
	 */
	LocalDateTime getNow();
}
